package com.xueyi.system.train.domain.po;

import java.util.Date;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xueyi.common.core.web.tenant.base.TBaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.xueyi.common.core.annotation.Excel;

/**
 * 培训管理 持久化对象
 *
 * @author xueyi
 */
@TableName(value = "base_train", excludeProperty = {"name", "sort", "status"},autoResultMap = true)
public class BaseTrainPo extends TBaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 培训编码
     */
    @Excel(name = "培训编码")
    @TableField("train_code")
    private String trainCode;

    /**
     * 培训名称
     */
    @Excel(name = "培训名称")
    @TableField("train_name")
    private String trainName;

    /**
     * 主办部门id
     */
    @Excel(name = "主办部门id")
    @TableField("dept_id")
    private String deptId;

    /**
     * 主办部门名称
     */
    @Excel(name = "主办部门名称")
    @TableField("dept_name")
    private String deptName;

    /**
     * 培训时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "验收日期", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("train_time")
    private Date trainTime;

    /**
     * 培训部门id
     */
    @Excel(name = "培训部门id")
    @TableField("train_dept_id")
    private String trainDeptId;

    /**
     * 培训部门
     */
    @Excel(name = "培训部门")
    @TableField("train_dept")
    private String trainDept;

    /**
     * 培训地点
     */
    @Excel(name = "培训地点")
    @TableField("train_address")
    private String trainAddress;

    /**
     * 培训教师
     */
    @Excel(name = "培训教师")
    @TableField("train_teach")
    private String trainTeach;

    /**
     * 参加培训人员
     */
    @Excel(name = "参加培训人员")
    @TableField("trainers")
    private String trainers;

    /**
     * 培训内容
     */
    @Excel(name = "培训内容")
    @TableField("train_content")
    private String trainContent;

    /** 培训记录附件 */
    @TableField(value = "appendix", typeHandler = FastjsonTypeHandler.class)
    private JSONArray appendix;

    /**
     * 培训效果评价(1不满意 2基本满意 3一般 4很满意)
     */
    @Excel(name = "培训效果评价(1不满意 2基本满意 3一般 4很满意)")
    @TableField("train_result")
    private String trainResult;


    public JSONArray getAppendix() {
        return appendix;
    }

    public void setAppendix(JSONArray appendix) {
        this.appendix = appendix;
    }

    public void setTrainCode(String trainCode) {
        this.trainCode = trainCode;
    }

    public String getTrainCode() {
        return trainCode;
    }

    public void setTrainName(String trainName) {
        this.trainName = trainName;
    }

    public String getTrainName() {
        return trainName;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setTrainTime(Date trainTime) {
        this.trainTime = trainTime;
    }

    public Date getTrainTime() {
        return trainTime;
    }

    public void setTrainDeptId(String trainDeptId) {
        this.trainDeptId = trainDeptId;
    }

    public String getTrainDeptId() {
        return trainDeptId;
    }

    public void setTrainDept(String trainDept) {
        this.trainDept = trainDept;
    }

    public String getTrainDept() {
        return trainDept;
    }

    public void setTrainAddress(String trainAddress) {
        this.trainAddress = trainAddress;
    }

    public String getTrainAddress() {
        return trainAddress;
    }

    public void setTrainTeach(String trainTeach) {
        this.trainTeach = trainTeach;
    }

    public String getTrainTeach() {
        return trainTeach;
    }

    public void setTrainers(String trainers) {
        this.trainers = trainers;
    }

    public String getTrainers() {
        return trainers;
    }

    public void setTrainContent(String trainContent) {
        this.trainContent = trainContent;
    }

    public String getTrainContent() {
        return trainContent;
    }

    public void setTrainResult(String trainResult) {
        this.trainResult = trainResult;
    }

    public String getTrainResult() {
        return trainResult;
    }

}
